查看原文
其他

VirtualFlow教程 | Enamine数据库的更新及其虚拟筛选

肖高铿 北鲲云 2023-01-17


前言

之前我们移值了开源高通量虚拟筛选系统VirtualFlow及其数据库Real Database到cloudam的云E算例平台上1,已经开始为广大用户服务。由于Real数据库需要定制,因而供货周期比现货更长、价格也更贵,不少用户反馈希望能有现货数据库可用。经过上海陶素许可,将Enamine的2020年5月份Adance与HTS两个现货数据库也准备成VirtulFlow可用的格式并与大家分享。


本文用了一个“不同于”云计算教程 | 在云端用VirtualFlow实现超高通量虚拟筛选的流程来完成虚拟筛选,但其本质是一样的:本文只是将前文脚本createworkflow.sh拆解为一行一行的命令分别执行罢了。这么拆解脚本的目的是让大家更方便的自定义参数进行虚拟筛选。


ENAMINE数据库简介

经过更新之后,目前有三个ENAMINE数据库可以使用,分别介绍如下:

1、Enamine REAL

2020/07/20从www.virtual-flow.org移值过来,包含了14.6 亿化合物,供应商为enamine(上海陶素代理),需定制。
位置:$LIBRARY/enamine/ligand-library
todo.all生成与空间坐标:从www.virtual-flow.org在线获取。

2、Enamine Advance

2020年5月版本,包含了448388个化合物,供应商为enamine(上海陶素代理),现货。
位置:$LIBRARY/enamine-adv-202005/ligand-library
todo.all生成:见数据库目录里的todo.all,空间坐标解释见README。

3、Enamine HTS

2020年5月版本,包含了1756280个化合物,供应商为enamine(上海陶素代理),现货。
位置:$LIBRARY/enamine_hts_vfvs_202005/ligand-library
todo.all生成:见数据库目录里的todo.all, 空间坐标解释见README。

其中环境变量LIBRARY定义如下:

export VFVS_ROOT=/public/software/.local/easybuild/software/virtualflowexport LIBRARY=$VFVS_ROOT/libs


虚拟筛选的准备

作步骤

以BCR-ABL激酶抑制剂的虚拟筛选为例,假设你准备好了如下文件:

1、Dokcing计算用蛋白文件:1iep_prot.pdbqt


2、QVINA2用的Docking配置文件:config.txt


3、VirtualFlow配置文件:ctrl.all

该文件的设置主要与使用的计算节点核心数有关系,我这里准备

了3各种情况:4核心、8核心与16核心节点的配置文件,这些

配置文件已经配置好,适合于用qvina进行虚拟筛选。


4、对接用的化合物列表:todo.all

在本算例中,用Enamine advance,todo.all文件在该数据库

目录下。


Virtulflow的使用

1设定项目文件目录

假设计划在HOME下的VFVS_ABL目录开始一个虚拟筛选计算,那么我们需要创建该目录做为管理该项目的目录。为了方便后续管理,并建立一个VFVS_DIR环境变量指向该目录:

cd ~mkdir VFVS_ABLexport VFVS_DIR=/home/cloudam/VFVS_ABL

2 准备input-files目录

2.1 创建input-files目录

首先,我们需要创建一个input-files,用于保存输入文件。

cd $VFVS_DIRmkdir input-files

2.2 指定用于虚拟筛选的数据库

鉴于我们需要对Enamine advance进行虚拟筛选,所以将该该库放入input-files目录,用软链接即可:

ln -fs $LIBARARY/enamine-adv-202005/ligand-library $VFVS_DIR/input-files


2.3 创建受体文件目录并放置受体文件

mkdir -p $VFVS_DIR/input-files/receptorscp 1iep_prot.pdbqt $VFVS_DIR/input-files/receptors


2.4 创建对接场景目录并放置对接参数文件

mkdir -p $VFVS_DIR/input-files/qvina02_rigid_receptor1cp config.txt $VFVS_DIR/input-files/qvina02_rigid_receptor1/config.txt

3. 准备tools目录

先将Virtual flow的tools复制到项目目录

cp -fr $VFVS_ROOT/vfvs/tools $VFVS_DIR


复制todo.all到tools里:

cp  $VFVS_DIR/input-files/ligand-library/todo.all $VFVS_DIR/tools/templates/todo.all


复制Virtualfollow配置文件

cp all.ctrl-c4 $VFVS_DIR/tools/templates/all.ctrl


其中all.ctrl-c4是我实先准备好的Virtual Flow配置文件,适合于4核心计算节点。相应的有8核心与16核心的配置文件。

检查一下现在的项目文件里的内容:

[cloudam@master 1_input]$ tree.├── input-files│ ├── ligand-library -> /public/software/.local/easybuild/software/virtualflow/libs/enamine-adv-202005/ligand-library│ ├── qvina02_rigid_receptor1│ │ └── config.txt│ └── receptors│ └── 1iep_prot.pdbqt├── output-files└── tools ├── bin │ ├── qvina02 │ ├── qvina_w │ ├── smina │ ├── sqs │ ├── time_bin │ ├── vina │ ├── vina_carb │ └── vina_xb ├── slave │ ├── continue-jobline.sh │ ├── copy-templates.sh │ ├── copy-templates.sh.clodam │ ├── copy-templates.sh.old │ ├── exchange-continue-jobline.sh │ ├── exchange-jobfile.sh │ ├── prepare-todolists-cloudam.sh │ ├── prepare-todolists.sh │ ├── prepare-todolists.sh.old.old │ ├── show_banner.sh │ ├── submit.sh │ └── sync-jobfile.sh ├── templates │ ├── all.ctrl │ ├── one-queue.sh │ ├── one-step.sh │ ├── template1.lsf.sh │ ├── template1.pbs.sh │ ├── template1.sge.sh │ ├── template1.slurm.sh │ ├── template1.slurm.sh.old │ ├── template1.torque.sh │ └── todo.all ├── tmp │ └── README.md ├── vf_continue_all.sh ├── vf_continue_jobline.sh ├── vf_prepare_folders.sh ├── vf_redistribute_collections_multiple.sh ├── vf_redistribute_collections_single.sh ├── vf_report.sh ├── vf_start_jobline.sh └── vf_start_jobline.sh.old 10 directories, 41 files

4. 准备工作流目录(workflow)

cd $VFVS_DIR/tools./vf_prepare_folders.sh


5. 开始虚拟筛选

假设我们用200个节点进行虚拟筛选,用vf_start_jobline.sh开始虚拟筛选:

cd $VFVS_DIR/toolsNODE_NUMBER = 200./vf_start_jobline.sh 1 $NODE_NUMBER templates/template1.slurm.sh submit 1

6. 进度查看与对接结果统计

cd $VFVS_DIR/tools./vf_report.sh -c vs -d qvina02_rigid_receptor1


虚拟筛选的后处理:列出top化合物与pose提取

1. 复制VFTools

首先需要将VFTools复制一份到本地:

cd $VFVS_DIRcp -r $VFVS_ROOT/vftools/VFTools .export PATH=$VFVS_DIR/VFTools/bin:$PATH
2. 排序并获得top化合物列表

在VirtualFlow计算完毕,还可以对所有的化合物进行排序。创建专用的目录pp,键入命令:

cd $VFVS_DIRmkdir -p pp/rankingcd pp/rankin

所有的化合物排序:

vfvs_pp_ranking_all.sh ../../output-files/complete/ 2 meta_tranche

如果不能正常使用,请键入:

vfvs_pp_ranking_all.sh -h

根据帮助,确保参数都是正确的。同时确认已将VFTools/bin加入到PATH环境变量。

给出打分最佳前100个化合物的列表,保存为compound:

head -n 100 qvina02_rigid_receptor1/firstposes.all.minindex.sorted.clean > compounds

3.提取打分最靠前100个化合物的对接结合模式(pose)

创建新的目录,用来保存pose

cd $VFVS_DIR/ppmkdir -p docking_poses/qvina02_rigid_receptor1cd docking_poses/qvina02_rigid_receptor1

根据第上一步的列表(componds),将top 100化合物的pose提取出来:

cp ../../ranking/compounds . #复制列表到当前目录vfvs_pp_prepare_dockingposes.sh ../../../output-files/complete/qvina02_rigid_receptor1/results/ meta_tranch compounds dockingsposes overwrite

生成三个文件,两个目录:

compounds compounds.energies compounds.energies.uniq.csv dockingsposes dockingsposes.plain

每个打分最佳的pose已经按排名顺序以PDB格式保存在dockingsposes.plain目录里,可以直接用可视化软件对结果进行分析,推荐用FlareViewer(免费)做为可视化软件对结果进行分析。


致谢

Enamine 2020年5月份版本的HTS与Advance数据库由上海陶素提供,网站:https://www.tsbiochem.com


相关

VirtualFlow 实现超高通量虚拟筛选


用FLARE FEP计算相对结合自由能

最新

云端软件冯建新:力推硬科技发展,打造高性能云计算“新基建”


《药物开发中的人工智能:现状与未来展望(上)》


《药物开发中的人工智能:现状与未来展望(下)》

技术

LigandScout 使用云计算资源完成药效团虚拟筛选


关于云端

深圳云端软件有限公司(Cloudam)是弹性算力与云成本优化的技术领导者,为企业打造一站式的算力云平台及自动化云成本优化服务。云端软件推出的云E算力平台整合了全球主流公有云近50个地域的高性能计算资源,能为人工智能、仿真模拟、生物科技、材料化学等行业提供弹性、高效、经济的算力支持。


Cloudam成立于瑞典斯德哥尔摩,在深圳及斯德哥尔摩两地运营,团队核心成员来自于Oracle、Ericsson、IBM、华为等知名企业,拥有15年以上的世界500强企业技术服务经验和研发背景,已成功为欧洲及中国多家企业提供产品和技术服务。

分享、在看与点赞

了解更多高性能计算与云的知识

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存